#ifndef CROSSOVER_H
#define CROSSOVER_H

#include "EvolutionaryOperator.h"
#include "Candidate.h"
//#include "trng/yarn2.hpp"

class Crossover : public EvolutionaryOperator
{
public:
    Crossover(int numCrossovers);
    ~Crossover();
    std::vector<Candidate*> apply(Candidate* parent1, Candidate* parent2);
    virtual std::vector<Candidate*> mate(Candidate* a, Candidate* b);
protected:
    int numCrossovers;
    std::vector<Candidate*> result;
};

#endif // CROSSOVER_H
